/**
 * Created with CLion.
 * Description:
 * User: Auto
 */

#ifndef CES_GUI_PLUGIN_H
#define CES_GUI_PLUGIN_H
#include "GuiGlobal.h"
#include "IPlugin.h"
#include "IWindow.h"
namespace CES {

    class GUI_PLUGIN_EXPORT GuiPlugin
        : public QObject
        , public Core::IPlugin
    {
        Q_OBJECT
        Q_PLUGIN_METADATA(IID "GuiPlugin" FILE "GuiPlugin.json")
        Q_INTERFACES(CES::Core::IPlugin)
    public:
        bool InitPlugin(Core::IContextSPtr _content) override;
        bool StartPlugin() override;
        bool StopPlugin() override;
        bool DeInitPlugin() override;

    private:
        Core::IContextSPtr contextSPtr_{nullptr};
        Core::IWindowSptr mainWindow_{nullptr};
    };

}// namespace CES

#endif//CES_GUI_PLUGIN_H
